home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 5.3 for Indy R4400
/
IRIX 5.3 for Indy R4400 175MHz.img
/
relnotes
/
inventor_eoe
/
ch3.z
/
ch3
Wrap
Text File
|
1995-02-28
|
12KB
|
265 lines
- 1 -
3. _N_e_w__F_e_a_t_u_r_e_s__i_n__2_._0
MMMMoooosssstttt uuuusssseeeerrrrssss ddddoooo nnnnooootttt hhhhaaaavvvveeee ttttoooo ccccoooonnnncccceeeerrrrnnnn tttthhhheeeemmmmsssseeeellllvvvveeeessss wwwwiiiitttthhhh tttthhhheeeesssseeee
ddddeeeettttaaaaiiiillllssss;;;; ssssiiiimmmmppppllllyyyy iiiinnnnssssttttaaaallllllll tttthhhheeee ddddeeeeffffaaaauuuullllttttssss aaaannnndddd eeeennnnaaaabbbblllleeee IIIInnnnvvvveeeennnnttttoooorrrr
pppprrrrooooggggrrrraaaammmmssss ttttoooo rrrruuuunnnn....
This chapter describes the major new features added to Open
Inventor 2.0 since IRIS Inventor 1.0. Open Inventor 2.0.1
includes bug fixes and performance improvements only. NNNNooootttteeee
tttthhhhaaaatttt OOOOppppeeeennnn IIIInnnnvvvveeeennnnttttoooorrrr iiiissss aaaa ssssooooffffttttwwwwaaaarrrreeee ddddeeeevvvveeeellllooooppppmmmmeeeennnntttt kkkkiiiitttt aaaannnndddd tttthhhheeeesssseeee
ffffeeeeaaaattttuuuurrrreeeessss wwwwiiiillllllll pppprrrroooobbbbaaaabbbbllllyyyy nnnnooootttt bbbbeeee ooooffff iiiinnnntttteeeerrrreeeesssstttt ttttoooo eeeennnndddd----uuuusssseeeerrrrssss.... See
the Release Notes for the Open Inventor Development Kit for
details on what is new, what is changed, and what is
obsolete.
3.1 _N_e_w__S_y_s_t_e_m__F_e_a_t_u_r_e_s__i_n__2_._0
This section describes the major system feature additions in
Inventor 2.0. See TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr (2.0 programming
guide) or read the man pages for details.
_O_p_e_n _I_n_v_e_n_t_o_r _L_i_c_e_n_s_i_n_g Open Inventor 2.0 represents the
first release of Inventor that is licensed to third
parties to run on other platforms (e.g., Sun, HP). Open
Inventor employs OpenGL for all rendering.
_T_h_e _I_n_v_e_n_t_o_r _M_e_n_t_o_r _a_n_d _T_h_e _I_n_v_e_n_t_o_r _T_o_o_l_m_a_k_e_r Since Open
Inventor has been licensed to run on other platforms,
the programming guides have been published and
distributed by Addison-Wesley Publishing Company. The
books are typically available in bookstores that offer a
good technical book selection. TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr is
volume I of the programming guide and describes the
fundamentals of Inventor proramming. TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr
TTTToooooooollllmmmmaaaakkkkeeeerrrr is volume II and provides advanced information
for programmers who want to extend Inventor.
_A_u_t_o_m_a_t_i_c _c_a_c_h_i_n_g This release supports intelligent,
automatic caching on the parts of the database that are
not changing. Previously, caching was either `on' or
`off' (set at SoSeparator nodes). Inventor 2.0 supports
a third setting, `auto'. This SIGNIFICANTLY improves
performance and simplifies programming. Note that there
are four kinds of caching possible: rrrreeeennnnddddeeeerrrr,,,, bbbboooouuuunnnnddddiiiinnnngggg
bbbbooooxxxx,,,, ccccuuuulllllllliiiinnnngggg,,,, aaaannnndddd ppppiiiicccckkkkiiiinnnngggg.... Caching is described in
detail in TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr....
_D_y_n_a_m_i_c _l_o_a_d_i_n_g This release uses Dynamic Shared Objects
(DSO). This is a recent Unix feature that replaces and
obsoletes ssssttttaaaattttiiiicccc sssshhhhaaaarrrreeeedddd lllliiiibbbbaaaarrrriiiieeeessss. As of the 5.0 Irix
release, static shared libraries can no longer be built.
- 2 -
See /usr/share/src/Inventor/samples/Makefile* for
examples on how to write a Makefile for Inventor 2.0.
Note that other libraries are implied and need not be
referenced in the link line.
_E_r_r_o_r _h_a_n_d_l_i_n_g Inventor now supports a formal error handling
system. Note that the API was not affected by this
change. All Inventor error messages are now posted to
an SoError class. The application can supply its own
error handlers, thus making it possible to route error
messages to dialogs, as well as stderr or stdout. All
handlers are called by the SoError::handleError()
method. When debugging, you can set a breakpoint on this
method to stop right before an error is handled. See TTTThhhheeee
IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr (programming guide) for details, or see
man pages for SoError and SoReadError.
_N_a_m_i_n_g Nodes, paths, and engines can have names (strings)
associated with them. There are methods on
SoBase::setName() and getName() to set/get names. To
search for objects by name, see SoNode::getByName(),
SoPath::getByName, and SoEngine::getByName(). Also, the
SoSearchAction can now search based on the name.
_O_b_j_e_c_t _s_u_b_c_l_a_s_s_i_n_g An improved and simplified node
subclassing scheme is introduced in this release. See
the EEEExxxxtttteeeennnnddddeeeerrrr CCCChhhhaaaannnnggggeeeessss aaaannnndddd FFFFeeeeaaaattttuuuurrrreeeessss chapter and TTTThhhheeee
IIIInnnnvvvveeeennnnttttoooorrrr TTTToooooooollllmmmmaaaakkkkeeeerrrr (programmming guide, volume 2) for
details.
_O_p_e_n_G_L _r_e_n_d_e_r_i_n_g Open Inventor 2.0 uses OpenGL for all
rendering; there are no calls to Iris GL in Inventor
2.0.
_I_m_p_r_o_v_e_d _P_r_i_n_t_i_n_g Printing has been completely reimplemented
using OpenGL rendering to an off-screen image. All
rendering features can now be printed (e.g. textures and
transparency). Printing can render a scene to an
offscreen X pixmap and return either a Postscript bitmap
image or an unsigned char buffer.
_R_e_a_d_i_n_g _1._0 _f_i_l_e_s Inventor 2.0 reads 1.0 files and does the
best job possible to convert to 2.0.
_R_e_n_d_e_r _C_u_l_l_i_n_g Inventor now supports object level culling to
the viewport. Culling, like caching, is controlled by
SoSeparators.
_U_n_k_n_o_w_n _n_o_d_e_s Inventor 2.0 reads unrecognized node classes
from file and attempts to use them. When an unknown
class is read, Inventor will search for an accompanying
- 3 -
DSO file and use it, (uses environment variable
LD_LIBRARY_PATH to search for file classname.so) If none
is found, an SoUnknownNode or SoUnknownEngine is created
and used instead. Note that this will only work if the
"fields" entry is defined for this node - see the file
format chapter of TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr....
This release also supports a special option for nodes
called alternateRep. It can store a scene graph
composed of standard Inventor nodes which will be
rendered as a stand-in for your unrecognized node.
During writing, the node or engine is written back out.
Note that this mechanism works only with Inventor 2.0
files; unrecognized nodes in an Inventor 1.0 file will
still generate a read error (but see the section in
these release notes for information on writing upgraders
for Inventor 1.0 nodes). This mechanism allows user
subclassed nodes to be exportable, renderable, and re-
usable. See TTTThhhheeee IIIInnnnvvvveeeennnnttttoooorrrr MMMMeeeennnnttttoooorrrr for details.
3.2 _N_e_w__I_n_v_e_n_t_o_r__T_o_o_l_s__a_n_d__D_e_m_o_s__i_n__2_._0
3.2.1 _I_n_v_e_n_t_o_r__T_o_o_l_s__-__N_e_w__o_r__I_m_p_r_o_v_e_d The Inventor tools
are utility programs that Inventor users and developers may
find useful on a daily basis. They are installed with the
inventor_eoe.sw.inventor subsystem. Note that the source is
included with the Inventor Developer's Kit. The executables
are installed in /usr/sbin/iv*.
_i_v_c_a_t Reads an Inventor file and prints to stdout in ascii
or binary format. This program is handy for converting
files between ascii and binary formats. A few new
features have been added to this tool since 1.0 (e.g, -t
removes texture file dependency) - type `man ivcat' for
details.
_i_v_i_n_f_o Prints basic information about an Inventor file -
type `man ivinfo' for details.
_i_v_v_i_e_w A NEW, FAST, and very SIMPLE Inventor viewer program
that uses ivquicken - type `man ivview' for details.
_i_v_q_u_i_c_k_e_n This NEW program optimizes an Inventor file for
faster rendering - see man page for details.
_i_v_2_t_o_i_v_1 This NEW program attempts to convert an Inventor
2.0 data file into a 1.0 file - see man page for
details. It obviously cannot be perfect, but it does an
good job.
- 4 -
3.2.2 _I_n_v_e_n_t_o_r__D_e_m_o_s__-__N_e_w__o_r__I_m_p_r_o_v_e_d The Inventor demos
are installed with the inventor_eoe.demo.progs subsystem.
Note that the source code to these demos (and more) is
included in the Inventor Developer's Kit. These programs
are either entertaining or educational, and easy to use.
The executables are installed in /usr/demos/Inventor/*.
_S_c_e_n_e_V_i_e_w_e_r A few features have been removed from the 1.0
version of SceneViewer.
_d_r_o_p A NEW 3d tetris-like game.
_g_v_i_e_w A NEW program that edits 3d scene graph databases.
_m_a_z_e A NEW 3d skill game.
_q_m_o_r_f Same old 3d quad mesh metamorphosing program.
_r_e_v_o Same old surface of revolution modeling program.
_t_e_x_t_o_m_a_t_i_c Same old 3d extruded text creation program.